Skip to content

ACP client-only examples #20

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jul 7, 2025
Merged

ACP client-only examples #20

merged 2 commits into from
Jul 7, 2025

Conversation

ai-virtual-b
Copy link
Contributor

Usage of the ACP Client SDK only for the entire ACP job workflow - with functions only as client methods as an alternative way to use the SDK that might be more intuitive.

@ai-virtual-b ai-virtual-b requested a review from celesteanglm May 29, 2025 01:11
@ai-virtual-b ai-virtual-b added documentation Improvements or additions to documentation enhancement New feature or request labels May 29, 2025
@ai-virtual-b ai-virtual-b self-assigned this May 29, 2025
@celesteanglm
Copy link
Contributor

celesteanglm commented Jun 4, 2025

Hey @ai-virtual-b! Would it be better to have this in https://github.com/Virtual-Protocol/acp-python/tree/feat_client_examples/examples/acp_base? together with some add-ons in that readme

original idea was to that folder for "vanilla acp" example, and have other folders for other agent frameworks etc

@celesteanglm
Copy link
Contributor

also should we add browse_agent here?

@Ang-dot
Copy link
Contributor

Ang-dot commented Jul 4, 2025

I think we should check the socket connection before falling back to polling. Running both at once could cause the agent to receive duplicate instructions and double-sign the same memo for a single phase.

If the socket is connected but not emitting events, the issue is with the socket and should be fixed there — not bypassed by polling. Right now, polling is enabled regardless of socket status, but ideally, if the socket works, we shouldn’t poll at all.

wdyt?

@celesteanglm
Copy link
Contributor

Hey @Ang-dot - as discussed, I see polling vs websocket as alternative approaches so i think this is ok. Polling would be a "safe" alternative that is

  • Less dependent on reliability of our sockets infra
  • Easier to use as a job "backfill" or reconciliation option - say, if an agent fails to respond to job because of alchemy / websocket problems

@Ang-dot Ang-dot force-pushed the feat_client_examples branch from c2a0e4b to 599432d Compare July 7, 2025 07:22
@Ang-dot
Copy link
Contributor

Ang-dot commented Jul 7, 2025

Address comments with updated examples
Video Recording: https://drive.google.com/file/d/1SwwVL_yyBDM1zbcRTzRhvLuBCxHoRcyX/view?usp=drive_link

@Ang-dot Ang-dot requested a review from celesteanglm July 7, 2025 07:28
@Ang-dot Ang-dot force-pushed the feat_client_examples branch from 599432d to b4e4f48 Compare July 7, 2025 07:30
@Ang-dot Ang-dot force-pushed the feat_client_examples branch from b4e4f48 to c3ec578 Compare July 7, 2025 09:03
@celesteanglm celesteanglm merged commit a3e1a50 into main Jul 7, 2025
@celesteanglm celesteanglm deleted the feat_client_examples branch July 7, 2025 09:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants